Matthias Clasen [Mon, 9 Jun 2014 13:45:14 +0000 (09:45 -0400)]
GtkWindow: Trivial cleanup
Matthias Clasen [Sat, 7 Jun 2014 20:40:31 +0000 (16:40 -0400)]
GtkLabel: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 20:40:09 +0000 (16:40 -0400)]
GtkComboBox: Notify for has-frame and editing-canceled
Matthias Clasen [Sat, 7 Jun 2014 20:39:02 +0000 (16:39 -0400)]
GtkCellEditable: Use G_PARAM_EXPLICIT_NOTIFY
This is an interface property, so all implementors will have
to adjust to this.
Matthias Clasen [Sat, 7 Jun 2014 20:38:34 +0000 (16:38 -0400)]
GtkAppChooserButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 18:29:09 +0000 (14:29 -0400)]
GtkContainer: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 18:24:16 +0000 (14:24 -0400)]
GtkWidget: Use G_PARAM_EXPLICIT_NOTIFY
A few properties here are special, and can't benefit from it:
those which are just shorthands, like ::margin and ::expand,
and those that have explicit -set properties, like::hexpand
and ::vexpand.
Matthias Clasen [Sat, 7 Jun 2014 18:08:46 +0000 (14:08 -0400)]
GtkOrientable use G_PARAM_EXPLICIT_NOTIFY
This one is a little tricky, since we override this property
in many places, and you cannot add flags when overriding. So,
all places where this is overridden will have to make sure to
notify explicitly.
Matthias Clasen [Sat, 7 Jun 2014 18:08:28 +0000 (14:08 -0400)]
GtkEntry: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 18:07:55 +0000 (14:07 -0400)]
GtkCellRendererText: Use G_PARAM_EXPLICIT_NOTIFY for 'alignment'
Matthias Clasen [Sat, 7 Jun 2014 18:07:32 +0000 (14:07 -0400)]
GtkCellAreaBox: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 18:07:07 +0000 (14:07 -0400)]
GtkCalendar: Use G_PARAM_EXPLICIT_NOTIFY
And make sure we correctly notify for all properties.
Matthias Clasen [Sat, 7 Jun 2014 18:06:09 +0000 (14:06 -0400)]
GtkAspectFrame: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 18:05:51 +0000 (14:05 -0400)]
GtkApplicationWindow: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 18:04:57 +0000 (14:04 -0400)]
GtkApplicationWindow: Avoid a crash
In several places, we were not correctly dealing with the
possibility of application not being set.
Matthias Clasen [Sat, 7 Jun 2014 18:04:16 +0000 (14:04 -0400)]
GtkAppChooserWidget: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 18:03:45 +0000 (14:03 -0400)]
GtkAppChooserButton: Fix a possible crash
We were not correctly dealing with content_type being NULL
in one place.
Matthias Clasen [Sat, 7 Jun 2014 18:02:17 +0000 (14:02 -0400)]
GdkDevice: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 15:47:53 +0000 (11:47 -0400)]
GtkComboBox: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 15:47:30 +0000 (11:47 -0400)]
GtkCellRendererSpinner: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 15:46:22 +0000 (11:46 -0400)]
GtkCellRendererAccel: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 15:46:00 +0000 (11:46 -0400)]
GtkButtonBox: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 15:00:36 +0000 (11:00 -0400)]
GtkBox: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 14:59:14 +0000 (10:59 -0400)]
GtkBox: Convert to g_object_install_properties
Matthias Clasen [Sat, 7 Jun 2014 14:49:38 +0000 (10:49 -0400)]
GtkBox: Move overridden property ids to the end
This will make it easier to convert to g_object_install_properties
in the next commit.
Matthias Clasen [Sat, 7 Jun 2014 14:48:49 +0000 (10:48 -0400)]
GtkButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 13:40:55 +0000 (09:40 -0400)]
GtkButton: Convert to g_object_class_install_properties
Matthias Clasen [Sat, 7 Jun 2014 10:45:57 +0000 (06:45 -0400)]
GtkAccelLabel: use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 10:45:00 +0000 (06:45 -0400)]
GtkAccelLabel: Convert to g_object_class_install_properties
Matthias Clasen [Sat, 7 Jun 2014 15:45:14 +0000 (11:45 -0400)]
GtkAboutDialog: Use a setter for wrap-license
This avoids redundant notification.
Matthias Clasen [Sat, 7 Jun 2014 14:47:33 +0000 (10:47 -0400)]
GtkAboutDialog: Fix a parameter check
When we expanded the GtkLicense enumeration in 3.12, we forgot
to update the limit check in gtk_about_dialog_set_license_type.
Caught by testing property notification for enum properties.
Matthias Clasen [Sat, 7 Jun 2014 05:08:52 +0000 (01:08 -0400)]
GtkAboutDialog: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 05:06:51 +0000 (01:06 -0400)]
GtkAboutDialog: Convert to g_object_class_install_properties
Matthias Clasen [Sat, 7 Jun 2014 04:51:21 +0000 (00:51 -0400)]
GtkRevealer: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 04:50:23 +0000 (00:50 -0400)]
GtkRevealer: Convert to g_object_class_install_properties
Matthias Clasen [Sat, 7 Jun 2014 04:42:34 +0000 (00:42 -0400)]
GtkFlowBox: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 04:39:00 +0000 (00:39 -0400)]
GtkFlowBox: Convert to g_object_class_install_properties
Matthias Clasen [Sat, 7 Jun 2014 13:51:48 +0000 (09:51 -0400)]
GtkFlowBox: Move overridden prop ids to the end
This makes it easier to convert to g_object_class_install_properties
in the next commit.
Matthias Clasen [Sat, 7 Jun 2014 13:49:50 +0000 (09:49 -0400)]
GtkFlowBox: Drop unused prop ids
No h/valign properties here.
Matthias Clasen [Sat, 7 Jun 2014 03:46:32 +0000 (23:46 -0400)]
GtkListBox: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 03:35:53 +0000 (23:35 -0400)]
GtkStack: Avoid a few redundant notify emissions
A few of the property setters were missing the
standard checks.
Matthias Clasen [Sat, 7 Jun 2014 03:30:44 +0000 (23:30 -0400)]
GtkStack: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 03:39:56 +0000 (23:39 -0400)]
Bump required GLib version
For G_PARAM_EXPLICIT_NOTIFY.
Benjamin Otte [Mon, 9 Jun 2014 17:18:48 +0000 (19:18 +0200)]
reftests: Fix random failures of reftest
The reftest is testing "transparent" works as expected by drawing a
purple background once with purple and once with transparent and
expecting the same result. This works fine unless anti-aliasing happens
at rounded corners. The overdraw of the 2nd background changes the
antialiased pixels.
Fix this by explicitly setting the border radius to 0.
Also reindent the file to make it more readable.
Chun-wei Fan [Mon, 9 Jun 2014 06:39:35 +0000 (14:39 +0800)]
Fix MSVC 2008 Projects
...Make up for a missed 
 required for a new line in commands...
Chun-wei Fan [Mon, 9 Jun 2014 04:44:46 +0000 (12:44 +0800)]
MSVC Builds: Update Introspection Build
The a11y headers are now listed with the main Makefile.am of GTK, and
GDK introduced deprecated headers, so we need to account for them for the
build of the introspection files.
Chun-wei Fan [Mon, 9 Jun 2014 04:42:56 +0000 (12:42 +0800)]
Visual Studio Builds: Update Headers "Installation"
Chun-wei Fan [Mon, 9 Jun 2014 03:48:54 +0000 (11:48 +0800)]
MSVC 2010+ Projects: Update "Installation" Process
Currently, due to the way that Visual Studio 2010+ projects are handled,
the "install" project does not re-build upon changes to the sources, as it
does not believe that its dependencies have changed, although the changed
sources are automatically recompiled. This means that if a part or more
of the solution does not build, or if the sources need some other fixes
or enhancements, the up-to-date build is not copied automatically, which
can be misleading.
Improve on the situation by forcing the "install" project to trigger its
rebuild, so that the updated binaries can be copied. This does trigger an
MSBuild warning, but having that warning is way better than not having an
up-to-date build, especially during testing and development.
Juan R. Garcia Blanco [Sat, 7 Jun 2014 08:50:27 +0000 (10:50 +0200)]
inspector: Fix build with quartz backend
Add -xobjective-c to libgtkinspector_la_CFLAGS to handle objc headers.
Matthias Clasen [Fri, 6 Jun 2014 21:50:53 +0000 (17:50 -0400)]
docs: Sort style classes alphabetically
Otherwise, it is pretty hard to keep track of what
classes are missing from the list. As a consequence,
several of the existing classes were missing. Add those
at the same time.
Matthias Clasen [Fri, 6 Jun 2014 22:31:27 +0000 (18:31 -0400)]
GtkWindow: always input-shape csd windows
Even if we don't have border windows, we need to set the input
shape so we ignore clicks in the shadow region.
Matthias Clasen [Fri, 6 Jun 2014 17:35:40 +0000 (13:35 -0400)]
inspector: Make picking more robust
Apparently ClutterOffscreen returns NULL as a window.
While that is not cool, we shouldn't crash.
Matthias Clasen [Fri, 6 Jun 2014 17:00:06 +0000 (13:00 -0400)]
GtkDialog: Be a little more careful about button placement
We were applying response based heuristics, even if the button
is explicitly put in the headerbar. That broke button placement
in some epiphany dialogs, such as the Cookies one. Therefore,
restrict the heuristics to action widgets that are added through
gtk_widget_add_action_widget() or <child type="action">, where it
is not possible to specify placement explicitly.
Matthias Clasen [Fri, 6 Jun 2014 16:19:24 +0000 (12:19 -0400)]
GtkDialog: avoid a crash
Just because use-header-bar is set, it is not safe to assume
every action widget is in the headerbar, so be careful when
setting child properties.
Florian Müllner [Thu, 5 Jun 2014 14:34:43 +0000 (16:34 +0200)]
wayland: Explicitly handle classic mode for now
There are plans to add session-dependent defaults to GSettings
(based on the newly standardized XDG_CURRENT_DESKTOP); until
then, the WM uses a different schema for its button-layout
setting in classic mode. So for the time being, do the same
and pick the alternative schema when XDG_CURRENT_DESKTOP
indicates that we are in a classic session.
(It's not pretty, but hopefully won't be with us for too long ...)
https://bugzilla.gnome.org/show_bug.cgi?id=731273
Florian Müllner [Thu, 5 Jun 2014 13:30:16 +0000 (15:30 +0200)]
wayland: Set gtk-decoration-layout
Pick up the setting from the org.gnome.desktop.wm.preferences schema
if available. It is slightly more involved than other settings, as
the actual button names used in the schema differ from the ones we
use, so we need an additional translation step.
https://bugzilla.gnome.org/show_bug.cgi?id=731273
Chun-wei Fan [Fri, 6 Jun 2014 06:47:19 +0000 (14:47 +0800)]
gtk/gtkkineticscrolling.c: Include fallback-c89.c
... as round() is being used, which is for C99 and later. fallback-c89.c
includes math.h as well.
Matthias Clasen [Fri, 6 Jun 2014 01:08:56 +0000 (21:08 -0400)]
inspector: Avoid a crash
An unset action-name should not cause us to crash.
Matthias Clasen [Thu, 5 Jun 2014 22:46:50 +0000 (18:46 -0400)]
widget-factory: Avoid a crash
We want to be able to show the dialogs more than once, so just
hide them on delete.
Matthias Clasen [Thu, 5 Jun 2014 22:12:42 +0000 (18:12 -0400)]
Remove unintentional addition
Debugging leftovers.
Matthias Clasen [Thu, 5 Jun 2014 22:07:32 +0000 (18:07 -0400)]
widget-factory: Show some 'standard' dialog types
Add examples for the types of dialog that are mentioned
in the GNOME HIG: information dialogs, action dialogs and
preference dialogs.
Matthias Clasen [Thu, 5 Jun 2014 22:04:52 +0000 (18:04 -0400)]
GtkDialog: Improve the buildable implementation
When combining action child type with <action-widgets> to assign
response ids, we were not properly updating buttons that ended up
getting added to the headerbar before they have a response id.
Fix this by reapplying the headerbar button setup after parsing
<action-widgets>, and make sure to also update the suggested-action
style class.
Matthias Clasen [Thu, 5 Jun 2014 18:49:13 +0000 (14:49 -0400)]
Trivial string change
Capitalize 'Expander' in the widget-factory UI.
Carlos Garnacho [Thu, 5 Jun 2014 19:09:46 +0000 (21:09 +0200)]
combobox: Fix reentrancy in gtk_combo_box_popdown()
If called when already popped down, warnings would be issued due
to priv->grab_pointer being unexpectedly NULL, this would happen
in regular operation when selecting items in appears-as-list mode.
So both add a NULL check for priv->grab_pointer, and bail out early
if the popup window is already hidden.
Piotr Drąg [Thu, 5 Jun 2014 15:27:15 +0000 (17:27 +0200)]
Updated POTFILES.in and POTFILES.skip
Lieven van der Heide [Mon, 26 May 2014 16:19:24 +0000 (18:19 +0200)]
scrolledwindow: Replace kinetic scrolling with GtkKineticScrolling
Two GtkKineticScrolling helpers are used, one per axis direction.
https://bugzilla.gnome.org/show_bug.cgi?id=729608
Lieven van der Heide [Mon, 26 May 2014 16:13:29 +0000 (18:13 +0200)]
gtk: Add kinetic scrolling helper
GtkKineticScrolling implements the actual physics laws for friction
and springs. When created, position/velocity/boundaries/constants are
given, so at every gtk_kinetic_scrolling_tick() it returns the current
position, and whether the system is in rest.
https://bugzilla.gnome.org/show_bug.cgi?id=729608
Carlos Garnacho [Thu, 5 Jun 2014 13:45:21 +0000 (15:45 +0200)]
flowbox: Use gestures for event management
A multipress gesture takes care of item selection/activation, and
a drag gesture is used to manage events when rubberbanding selection
is performed.
Carlos Garnacho [Thu, 5 Jun 2014 13:40:02 +0000 (15:40 +0200)]
listbox: Use multipress gesture for row selection/activation
This gesture replaces the button_press/release_event handlers.
Carlos Garnacho [Thu, 5 Jun 2014 13:36:15 +0000 (15:36 +0200)]
label: Use gestures for event management
A multipress gesture takes care of link handling, and char/word/all
selection mode on selectable labels. A drag gesture is used for both
text selection and DnD checks on selectable labels.
Carlos Garnacho [Thu, 5 Jun 2014 13:29:14 +0000 (15:29 +0200)]
range: Use GtkGesture for event management
A multipress gesture takes care of clicks, and where those happened.
If the click is meant to move the slider while pressed, the drag gesture
takes over, dragging the slider while active.
Carlos Garnacho [Thu, 5 Jun 2014 13:27:25 +0000 (15:27 +0200)]
expander: Use multipress gesture for event management
This actually acts regardless of the value n_press, alternatively
expanding and collapsing the GtkExpander.
Carlos Garnacho [Thu, 5 Jun 2014 13:31:35 +0000 (15:31 +0200)]
widget: reset all controllers when the widget becomes insensitive
Widgets becoming insensitive won't receive further events, but there
could be chances the controllers don't get properly notified and reset
in those situations.
Matthias Clasen [Thu, 5 Jun 2014 13:29:18 +0000 (09:29 -0400)]
inspector: Make GMenu content show up
My problem was that all the content is usually hidden away
in sections, so without recursion, nothing shows up. So,
implement the recursion then.
Matthias Clasen [Thu, 5 Jun 2014 12:35:07 +0000 (08:35 -0400)]
Forgotten file
Matthias Clasen [Thu, 5 Jun 2014 12:31:06 +0000 (08:31 -0400)]
inspector: show GMenus
This does not quite work yet, and I have no idea why.
Ryan Lortie [Thu, 5 Jun 2014 12:28:48 +0000 (08:28 -0400)]
GtkMenuTracker: fix signal handler argument list
The signal handler for the visibility of menu items changing had the
wrong signature, resulting in the GParamSpec from the notify signal
being treated as a boolean (which was always true). This resulted in
items being added over and over and never being removed.
Fix that...
Yosef Or Boczko [Thu, 5 Jun 2014 11:07:46 +0000 (14:07 +0300)]
Updated Hebrew translation
Matthias Clasen [Thu, 5 Jun 2014 09:56:47 +0000 (05:56 -0400)]
inspector: Actually destroy the property editors
We were never finalizing any of the popovers used for editing
properties. Fix that.
Matthias Clasen [Thu, 5 Jun 2014 09:49:34 +0000 (05:49 -0400)]
inspector: Fix a memory leak
Matthias Clasen [Thu, 5 Jun 2014 09:48:26 +0000 (05:48 -0400)]
inspector: Add an initial action editor
Use a popup, like we do for properties. For now, it allows
activating the action (with parameter, if necessary) and
setting the state.
Chun-wei Fan [Thu, 5 Jun 2014 06:45:35 +0000 (14:45 +0800)]
gtk/deprecated/gtkcolorsel.c: Include gtkwindowgroup.h
Since commit
872fbfac the GtkWindowGroup was split out from the GtkWindow
sources, so include gtkwindowgroup.h to avoid C4013 warnings/errors
(implicit declaration of ...) on gtk_window_group_add_window().
Matthias Clasen [Thu, 5 Jun 2014 01:25:05 +0000 (21:25 -0400)]
Expand GtkWindowGroup docs
Matthias Clasen [Thu, 5 Jun 2014 00:29:10 +0000 (20:29 -0400)]
inspector: Lower the inspector window when picking
This avoids the problem of the inspector window covering the
widget you want to pick.
Matthias Clasen [Thu, 5 Jun 2014 00:12:42 +0000 (20:12 -0400)]
inspector: Show the widget tree when picking
Makes more sense that way.
Matthias Clasen [Wed, 4 Jun 2014 23:28:24 +0000 (19:28 -0400)]
inspector: Go to the desired tab
We were setting the next-tab properly, but were trying to
read it off the wrong object. Now, going from a cell renderer
attribute mapping to the model, or from an action-name to the
action actually works.
Carlos Garnacho [Wed, 4 Jun 2014 11:35:16 +0000 (13:35 +0200)]
tests: Add multitouch gesture tests
So far, gesture behavior on lack/excess of touchpoints is tested, as well
as sequence hand-in between gestures in these situations.
Carlos Garnacho [Wed, 4 Jun 2014 10:56:57 +0000 (12:56 +0200)]
widget: Set GDK_BUTTON1_MASK on emulated pointer events
The touch_event handler was missing those when emulating pointer events
for the widgets that get GDK_TOUCH_MASK set, but have no specialized
touch handlers.
Matthias Clasen [Wed, 4 Jun 2014 10:38:20 +0000 (06:38 -0400)]
Fix up internal function naming
Even if you believe this functionality belongs into gdk, it
is not ok to name internal functions in gtkwindow.c gdk_window...
Matthias Clasen [Wed, 4 Jun 2014 10:18:03 +0000 (06:18 -0400)]
Split GtkWindowGroup into its own file
gtkwindow.c is too big and too messy. This is a small step
towards making it better.
Matthias Clasen [Tue, 3 Jun 2014 18:22:55 +0000 (14:22 -0400)]
Shorten test paths
Matthias Clasen [Tue, 3 Jun 2014 16:26:16 +0000 (12:26 -0400)]
label-sizing reftest: Hardcode ltr
This reftest doesn't work in rtl.
Matthias Clasen [Tue, 3 Jun 2014 16:25:23 +0000 (12:25 -0400)]
reftests: Add a way to hardcode text direction
Some tests don't work in rtl, so add a way to hardcode
the expected text direction. This is in preparation for
running reftests in an rtl locale.
Carlos Garnacho [Tue, 3 Jun 2014 13:09:16 +0000 (15:09 +0200)]
tests: Add tests for grab interaction with gestures
The behavior of gestures that are kept outside/inside a grab is tested,
to ensure the former are cancelled and the latter remain unchanged.
Carlos Garnacho [Tue, 3 Jun 2014 13:04:25 +0000 (15:04 +0200)]
widget: Ensure all gestures outside a grab scope are cancelled
This code is a product of early stages in the gestures branch, where
capturing would have an effect outside grab boundaries. But this isn't
really the case, so every gesture outside the grab scope must be reset
to avoid keeping stale data.
Carlos Garnacho [Tue, 3 Jun 2014 12:15:14 +0000 (14:15 +0200)]
tests: Add gesture tests for early/late sequence claiming
This tests both a sequence being claimed early to be then denied
(and handled deeper in propagation chain), and a sequence being
claimed late in the capture phase (and thus being cancelled deeper
in the propagation chain)
Carlos Garnacho [Tue, 3 Jun 2014 14:11:24 +0000 (16:11 +0200)]
tests: Inform of gesture updates during recognition
May be useful to find out which gestures are still being triggered
by a sequence.
Carlos Garnacho [Tue, 3 Jun 2014 11:17:13 +0000 (13:17 +0200)]
testsuite: Prepare gestures testsuite for mouse/touch events
state is preserved for mouse emulation, and up to 10 touchpoints for touch
emulation.
Carlos Garnacho [Mon, 2 Jun 2014 15:38:46 +0000 (17:38 +0200)]
widget: Only deny a sequence if it was previously claimed
Before this change, a sequence being claimed deep in the event propagation
chain would make the sequence go denied on every ancestor, regardless of
previous state.
To make things more consistent, only deny the sequence if it was previously
claimed, so the behavior is the same for gesture groups within the widget
than for those outside the widget.
The gestures testsuite has been updated to reflect this new behavior.
Carlos Garnacho [Sun, 1 Jun 2014 19:44:55 +0000 (21:44 +0200)]
gesture: Ensure late gestures handling the sequence get the group state
It might happen that a gesture claims a sequence before any other gesture
in its group even handled a single event from that sequence. In that case,
ensure the state is set accordingly right when the sequence is handled in
those.
The "group" gesture testcase has been updated to observe this behavior.